package fifteenth.Java反射机制的深入应用;

import java.lang.reflect.Array;

public class 通过反射操作数组 {
    public static void main(String[] args) {
int temp[]={1,2,4,7,8};
        Class<?> componentType = temp.getClass().getComponentType();
        System.out.println("类型："+componentType.getName());
        System.out.println("长度："+ Array.getLength(temp));
        System.out.println("第一个内容："+Array.get(temp,0));
        Array.set(temp,0,10);//设置第一个数字为10
        System.out.println("set之后的第一个内容："+Array.get(temp,0));
    }
}
/**
 * 上面的程序通过Array类取得了数组的相关信息，并通过Array类中的set()方法修改了数组中的元素内容
 * 在应用中还可以通过Array类根据已有的数组类型来开辟新的数组对象
 */
/*
D:\WorkSpaces\Java\jdk-21\bin\java.exe "-javaagent:D:\Software\IntelliJ IDEA\IntelliJ IDEA 2023.3.2\lib\idea_rt.jar=54971:D:\Software\IntelliJ IDEA\IntelliJ IDEA 2023.3.2\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\WorkSpaces\JavaDevelopBase_start_329\out\production\JavaDevelopBase_start_329 fifteenth.Java反射机制的深入应用.通过反射操作数组
类型：int
长度：5
第一个内容：1
set之后的第一个内容：10

Process finished with exit code 0
 */